#include <iostream>
#include "trace.h"
#include "general.h"
#include "constants.h"
#include <deque>
#include <vector>
using namespace std;

struct Node
{
	Position pos;
	int globalID;
	int domainID;
	vector<int> neighborList;

	int totalBuffer;
	int totalSend;
	int totalReceive;
	deque<Traffic> nodeTraffic;

	int state;
	int prevState;

	bool isSender;
	int sendTo;
	int receiveFrom;

	int conWin;

	int countingDown;
	int prevCountingDown;	// used when interupt by NAV in CW
	int datarate;			// in (Mbps)
	int t_data;
};

struct AllNodes
{
	Node allnodes[MAX_NODE];
	
};